Guía esencial de Git y GitHub
Esta guía te introduce a los fundamentos de Git y GitHub, desde la instalación hasta la gestión avanzada de proyectos. Ideal tanto para principiantes como para quienes buscan perfeccionar sus habilidades en control de versiones.
Git es un sistema de control de versiones (SCV) esencial para rastrear cambios en el código, colaborar en equipo y experimentar con nuevas ideas mediante ramas. Plataformas como GitHub potencian esta colaboración al hospedar repositorios y facilitar el intercambio de código.
¿Cómo funciona Git?
Git organiza los proyectos en tres áreas principales: - Directorio de trabajo: Donde editas tus archivos. - Área de preparación (staging): Donde preparas los cambios antes de confirmarlos. - Directorio Git: Almacena las instantáneas confirmadas de tu proyecto.
Disponible en Linux, Windows y macOS, Git tiene una curva de aprendizaje inicial, pero su dominio abre un mundo de posibilidades para gestionar proyectos eficientemente.
Comandos básicos de Git
Aquí tienes los comandos fundamentales:
echo "# Léeme" >> README.md: Crea un archivo README.md con el texto “# Léeme”.git init: Inicia un nuevo repositorio en el directorio actual.git add [file]: Añade un archivo al área de preparación.git commit -m "Primer commit": Guarda los cambios con un mensaje descriptivo.git branch -M main: Muestra las ramas existentes.git remote add origin git@github.com:achalmed/repositorio.git: Vincula el repositorio local con uno remoto en GitHub.git push -u origin main: Envía los cambios al repositorio remoto.git status: Muestra el estado actual del repositorio.git log: Lista el historial de commits.git diff: Compara cambios no confirmados con el último commit.git checkout [branch]: Cambia a una rama específica.git merge [branch]: Fusiona una rama con la actual.git config --global user.name "tu-nombre": Configura tu nombre de usuario.git config --global user.email "tu-email@example.com": Configura tu correo.
Instalación de Git en Ubuntu
Método 1: Paquetes predeterminados (rápido y estable)
Verifica si Git está instalado:
Ejemplo de salida:
git version 2.34.1Si no está instalado, actualiza e instala con APT:
Configura tu identidad:
Verifica la configuración:
Método 2: Desde la fuente (versión más reciente)
Instala las dependencias:
Descarga y descomprime la versión deseada (ejemplo: 2.34.1):
Compila e instala:
Confirma la instalación:
Configuración de claves SSH para GitHub
Generar una clave SSH
Verifica claves existentes:
Si no hay claves, crea el directorio:
mkdir ~/.ssh.Genera un par de claves:
Acepta el nombre predeterminado y añade una contraseña (opcional).
Añadir la clave a ssh-agent
Inicia el agente:
Añade la clave privada:
Vincular la clave a GitHub
Copia la clave pública:
- Linux/Mac:
cat ~/.ssh/id_rsa.pub - Windows:
clip < ~/.ssh/id_rsa.pub
- Linux/Mac:
En GitHub, ve a Settings > SSH and GPG keys > New SSH key, pega la clave y guárdala.
Prueba la conexión:
Resultado esperado:
Hi tu_usuario! You've successfully authenticated...
Crear un repositorio local
Inicia un repositorio:
Añade archivos y haz un commit:
Clonar un repositorio
Clonación básica
Clona un repositorio remoto:
Clonación en carpeta específica
Clonación superficial
Solo las últimas n confirmaciones:
Clonar una rama específica
Subir un proyecto a GitHub
Crea un repositorio en GitHub (público o privado).
En tu proyecto local:
Con SSH
echo "# examen" >> README.md
git init
git add .
git commit -m "Primer commit"
git branch -M main
git remote add origin git@github.com:usuario/repositorio.git
git push -u origin mainCon HTTPS
echo "# examen" >> README.md
git init
git add .
git commit -m "Primer commit"
git branch -M main
git remote add origin https://github.com/usuario/repositorio.git
git push -u origin mainSi aparece el error remote origin already exists:
Luego repite el paso 2.
Observar el repositorio
git status: Muestra el estado actual.git diff: Compara cambios no confirmados.git loggit log --graphgit log --graph --pretty=onelinegit log --graph --decorate --all --onelinegit config --global alias.tree "log --graph --decorate --all --oneline"git treegit log --oneline: Historial compacto. Ejemplo:git blame [archivo]: Autores y fechas de cambios.touch .gitignore
Trabajar con ramas
- Crea y cambia a una rama:
Navegando en ramas - git checkout holagit.py - git log - git checkout 707c7f864de5e036c54b43df5a1bfa464fb4d9ba - git tree - git checkout 380beab Creando ramas
git branch login git switch login
Fusiona ramas:
git switch login git merge main git tree
corrección de conflicto
git merge main- conflicto tal vez por que se modifico la mimsa linea en distintos branch
- corregir el error
git add archivo_conflicto.pygit commit -m "correccion conflicto"
- Reset
git treegit reset --hard af18c2agit loggit refloglog completogit checkout 380beab
Etiqueta un commit: (Para versiones)
git tag clase_1git logogit treegit tagListado de tagsgit checkout tags/clase_1
Guardar temporalmente un trabajo no terminado
git status
git switch main
git stash
git stash list git switch main
Hago los cambios
git switch login
git stash pop git add . git commit -m "Login v2"
git stash drop
Comparar archivos o ramas
git diff login
Sincronización
git fetch origin: Descarga cambios remotos sin fusionarlos.git pull origin main: Descarga y fusiona cambios.git push origin main: Envía cambios locales al remoto.
Conclusión
Dominar Git y GitHub es clave para gestionar proyectos de desarrollo. Practica estos comandos y consulta git --help para más detalles.
Publicaciones Similares
Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:
- Comandos De Informacion Windows
- Adb
- Limpieza Y Optimizacion De Pc
- Usando Apk En Windown 11
- Gestionar Versiones De Jdk En Kubuntu
- Instalar Tor Browser
- Crear Enlaces Duros O Hard Link En Linux
- Comandos Vim
- Guia De Git Y Github
- 00 Primeros Pasos En Linux
- 01 Introduccion Linux
- 02 Distribuciones Linux
- 03 Instalacion Linux
- 04 Administracion Particiones Volumenes
- Atajos De Teclado Y Comandos Para Usar Vim
- Instalando Specitify
Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!